!> GLOBALS : This Module Contains Global Declarations
!! @author Dharhas Pothina
!! @created 20080213
!! @modified 20080407
!! @file lacm_globals.f90

module lacm_globals
implicit none
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! STRING LENGTHS                                                       !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
INTEGER, PARAMETER :: LONGTEXT = 256     !< Max. Filename Length
INTEGER np								 !< Number of Nodes
INTEGER nv								 !< Number of Vertical Sigma Levels
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! I/O Filenames                                                        !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
CHARACTER(LEN=LONGTEXT)  :: meshfile
CHARACTER(LEN=LONGTEXT)  :: paramfile
CHARACTER(LEN=LONGTEXT)  :: indir
CHARACTER(LEN=LONGTEXT)  :: outdir
CHARACTER(LEN=LONGTEXT)  :: prefix
CHARACTER(LEN=LONGTEXT)  :: meshdescription

!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! 2DV Model Mesh Geometry Declarations                                 !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
double precision, dimension(:), allocatable :: x !< x coordinate of 2DV Model Mesh pt in cartesian coordinates
double precision, dimension(:), allocatable :: y !< y coordinate of 2DV Model Mesh pt in cartesian coordinates
double precision, dimension(:), allocatable :: ztop !< depth of upper surface of 2DV Model below MSL
double precision, dimension(:), allocatable :: zbot !< depth of bottom surface 2DV Model below MSL
double precision, dimension(:), allocatable :: s !< distance of 2DV Model Mesh point along the thalweg
double precision, dimension(:), allocatable :: ds !< distance along thalweg of 2DV Model Mesh point from previous node

!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
! Shallow Bay Model Variable Declarations                              !
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
integer sb_np							!< number of shallow bay nodes
integer sb_ne							!< number of shallow bay elements

double precision, dimension(:), allocatable :: sb_x !< x coordinate of Shallow Bay model node
double precision, dimension(:), allocatable :: sb_y !< y coordinate of Shallow Bay model node




end module lacm_globals
